In a computer system, the processor, the memory, and the input/output (I/O) devices communicate with one another by way of a bus. A bus is a cable having a series of conductors, each of which is capable of transmitting signals which represent either data to be transferred between devices on the bus or control information, such as device addresses, which determine when and to where the data being transferred by the bus is to be transferred. The signals transferred on the bus typically take the form of rapidly changing bi-stable voltage levels. These voltage levels are placed on the conductors by bus drivers incorporated into each device which communicates with the bus. For optimum signal power transfer between devices and minimum signal reflection, the bus must be terminated in such a way that the impedance of the terminator matches the impedance of the bus.
A bus standard defines the bus termination impedance for a particular bus. However, in practice, bus impedance varies among individual buses so that the constant termination impedance imposed by the standard can result in a significant impedance mismatch. Thus, although the bus terminator actually has the predefined impedance required by the bus standard, significant signal reflections can occur. Because the data on the bus can not be sampled until any signal reflections decay, the speed at which data can be transferred over the bus is limited.
For example, the Small Computer Systems Interconnect (SCSI) bus standard specifies that the bus terminators should provide 110 ohms of impedance. However, in practice the impedance of the SCSI bus cable typically varies from 45 to 95 ohms and hence a 110 ohm terminator would provide an imperfect impedance match, leading to signal reflections.
Active terminators have been constructed with a resistance connected to a positive regulated voltage. However, such a terminator design results in imperfect impedance matching due to variations in cable impedance. Other active terminators have included positive and negative voltage clamping circuits which absorb signal energy from a reflected signal and thereby reduce the decay time of the reflected signal. One problem that arises in these voltage clamping terminators is that the lower clamp is typically set to approximately 0.5 V. Since bus drivers typically can drive the bus below this voltage, large instantaneous currents can flow through the cable to the driver. For example, instantaneous currents in excess of 100 ma have been observed on a SCSI bus having voltage clamping terminators. This current far exceeds the 22.4 ma of current per terminator permitted by the SCSI specification.
The present invention relates to a bus terminator which is capable of: sourcing a constant current to the bus, both positive and negative voltage clamping of the bus to reduce signal reflections, and reducing power consumption when the bus is in the high level steady state.